package gov.goias.recad.util;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;

public class JSFUtil {
	
	public static void adicionarMensagemErro(final String mensagem){
		FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, mensagem, null));		
	}
	
	public static void adicionarMensagemErro(final String mensagem, final String detalhe ){
		FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, mensagem, detalhe));		
	}
	
	public static void adicionarMensagemInformacao(final String mensagem){
		FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, mensagem, null));
	}
	
	public static void adicionarMensagemAlterta(final String mensagem){
	    FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, mensagem, null));		
	}
	
	public static void adicionarPropriedadeSessao(final String propriedade, final Object valor){
		FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(propriedade, valor); 
	}
	
	public static Object obterPropriedadeSecao(final String propriedade){
		return FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get(propriedade);
	}
	
	public static void removerPropriedadeSessao(final String propriedade){
		FacesContext.getCurrentInstance().getExternalContext().getSessionMap().remove(propriedade);
	}
	
//	public static void adicionarCookie(String nomeCookie, String valor, Map<String, Object> valores ){
//		
//		FacesContext.getCurrentInstance().getExternalContext().addResponseCookie(nomeCookie, "teste", null);
//
//		
		//HttpSession sessao = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
//		String sessionId = sessao.getId(); 
//		System.out.println("Session Id = "+ sessao);
//		//FacesContext.getCurrentInstance().getExternalContext().getR
//		FacesContext.getCurrentInstance().getExternalContext().addResponseCookie(name, value, properties)
//		
//		Cookie[] cookies = ((HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest()).getCookies(); 
//		//reset session string
//		sessionId = null; 
//		if
//		(cookies != null) {
//		 for (Cookie brezel : cookies) {
//		     if (brezel.getName().equalsIgnoreCase("JSESSIONID")) {
//		       sessionId = brezel.getValue();
//		       break;
//		     }
//		  } 
//		} 
//		System.out.println("JSESSIONID cookie = "+sessionId);		
//		
		
//	}
	
//	public static Map<String, Object> lerCookie(String nomeCookie){
//		return FacesContext.getCurrentInstance().getExternalContext().getRequestCookieMap();	
//	}
	
}